package de.windeln.marketing.campaign.services.interfaces;

import java.util.List;
import java.util.Map;

import de.windeln.marketing.campaign.costinterval.model.CostintervalClientObject;
import de.windeln.marketing.campaign.model.RequestClientObject;

public interface CampaignService {

	public List<Map<String, Object>> fetchAllCampaigns();

	public List<Map<String, Object>> fetchAllPromocodes();

	public List<Map<String, Object>> fetchAllCampaignsAndPromocodes();

	public void insertNewCampaignAndPromocode(RequestClientObject campaign);
	
	public void updateCampaignAndPromocode(RequestClientObject campaign);

	public void deleteCampaignAndPromocode(long campaignId);

	public void editCampaignAndPromocode(RequestClientObject campaign);

	public void updateCampaignAfterInsertingCostInterval(CostintervalClientObject costInterval);

	public void updateCampaignAfterDeletingCostInterval(Long costintervalId);

	public String findAlreadyExistingCampaign(RequestClientObject rco);
	
}
